| Method | Request URI |
|---|---|
| POST | /API/Account/?sessionId=value |
| URI Parameter | Description |
|---|---|
| sessionId | Current session ID. Specifying via an Authorization request header instead is recommended. |
| Authorization: Bearer <Current session ID> |
This example will create a new local user with the name John Smith.
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Web.Script.Serialization;
...
using (HttpClient httpClient = new HttpClient())
{
// Get Session Id
string logonUri = "http://localhost:8004/Api/LogOn/";
var logonOptions = new
{
accountName = "admin",
password = "1234",
cultureName = string.Empty,
deleteOtherSessions = true,
isWindowsLogOn = false
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
var requestBodyAsString = serializer.Serialize(logonOptions);
StringContent content =
new StringContent(
requestBodyAsString,
Encoding.UTF8,
"application/json"
);
string jsonString = string.Empty;
using (var response = httpClient.PostAsync(logonUri, content).Result)
{
jsonString =
response.Content.ReadAsStringAsync().Result;
}
var obj = (Dictionary<string,object>) serializer.DeserializeObject(jsonString);
string sessionId = obj["sessionId"].ToString();
string url = "http://localhost:8004/API/Account/";
// Add an Authorization header
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessionId);
// Define the request body
HttpContent requestBody = null;
requestBody =
new StringContent(@"
{
""__classType"": ""dundas.account.Account"",
""name"": ""user1"",
""accountType"": ""LocalUser"",
""timeZone"": """",
""isEnabled"": true,
""trackLogOnHistory"": true,
""logOnCount"": 0,
""seatKind"": ""StandardUser"",
""isSeatReserved"": false,
""grantedApplicationPrivilegeIds"": [
],
""deniedApplicationPrivilegeIds"": [
],
""customAttributes"": [
],
""password"": ""1234"",
""canChangePassword"": true,
""displayName"": ""John Smith"",
""emailAddress"": ""JohnSmith@dundas.com"",
""isAccountExpired"": false,
""isPasswordExpired"": false,
""isLocked"": false,
""warnings"": [
]
}
",Encoding.UTF8,"application/json");
using (var response = httpClient.PostAsync(url, requestBody).Result)
{
if(response.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine("Success");
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
string jsonObject = response.Content.ReadAsStringAsync().Result;
}
}
}
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.apache.http.entity.StringEntity;
import org.json.JSONObject;
...
HttpClient httpClient = HttpClientBuilder.create().build();
String url = "http://localhost:8004";
// Get Session Id
String logonUri = url + "Api/LogOn/"
HttpPost httpPost = new HttpPost(logonUri);
StringEntity stringEntity =
new StringEntity("{
+ "\"accountName\":\"admin\","
+ "\"password":\"1234\","
+ "\"cultureName\":\"\","
+ "\"deleteOtherSessions\":false,"
+ "\"isWindowsLogOn\":false"
+ "}"
);
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = httpClient.execute(httpPost);
String jsonString = EntityUtils.toString(httpResponse.getEntity());
JSONObject jsonObj = new JSONObject(jsonString);
String sessionId = jsonObj.getString("sessionId");
String requestUrl = "http://localhost:8004/API/Account/";
// Define the Request Method.
HttpPost requstMethod = new HttpPost(requestUrl);
// Add an Authorization header
requstMethod.setHeader("Authorization", "Bearer " + sessionId);
// Define the Request Body.
StringEntity input =
new StringEntity(
"{"
+ "\"__classType\": \"dundas.account.Account\","
+ "\"name\": \"user1\","
+ "\"accountType\": \"LocalUser\","
+ "\"timeZone\": \"\","
+ "\"isEnabled\": true,"
+ "\"trackLogOnHistory\": true,"
+ "\"logOnCount\": 0,"
+ "\"seatKind\": \"StandardUser\","
+ "\"isSeatReserved\": false,"
+ "\"grantedApplicationPrivilegeIds\": ["
+ " "
+ "],"
+ "\"deniedApplicationPrivilegeIds\": ["
+ " "
+ "],"
+ "\"customAttributes\": ["
+ " "
+ "],"
+ "\"password\": \"1234\","
+ "\"canChangePassword\": true,"
+ "\"displayName\": \"John Smith\","
+ "\"emailAddress\": \"JohnSmith@dundas.com\","
+ "\"isAccountExpired\": false,"
+ "\"isPasswordExpired\": false,"
+ "\"isLocked\": false,"
+ "\"warnings\": ["
+ " "
+ "]"
+ "}"
);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response =
httpClient.execute(requstMethod);
if(response.getStatusLine().getStatusCode() == 200)
{
System.out.println("Success");
}
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
String json = EntityUtils.toString(response.getEntity());
var baseUrl = 'http://localhost:8005';
var logonOptions =
{
accountName: 'admin',
password: '1234',
cultureName: 'en-us',
deleteOtherSessions: false,
isWindowsLogOn: false
};
$.ajax({
type: 'POST',
url: baseUrl + '/Api/LogOn/',
contentType: "application/json",
data: JSON.stringify(logonOptions),
success: function(logOnResultData) {
var sessionId = logOnResultData.sessionId;
var dataObject =
{
"__classType": "dundas.account.Account",
"name": "user1",
"accountType": "LocalUser",
"timeZone": "",
"isEnabled": true,
"trackLogOnHistory": true,
"logOnCount": 0,
"seatKind": "StandardUser",
"isSeatReserved": false,
"grantedApplicationPrivilegeIds": [
],
"deniedApplicationPrivilegeIds": [
],
"customAttributes": [
],
"password": "1234",
"canChangePassword": true,
"displayName": "John Smith",
"emailAddress": "JohnSmith@dundas.com",
"isAccountExpired": false,
"isPasswordExpired": false,
"isLocked": false,
"warnings": [
]
};
$.ajax({
type: "POST",
url: baseUrl + "/API/Account/",
headers: { "Authorization": "Bearer " + sessionId },
data: JSON.stringify(dataObject),
contentType: "application/json",
success: function(data) {
// data = A Dundas.BI.WebApi.Models
// AccountData object.
},
error: function(data) { alert('failed' + data); }
});
}
});
This example will create a new windows user account with the name dundas\johns.
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Web.Script.Serialization;
...
using (HttpClient httpClient = new HttpClient())
{
// Get Session Id
string logonUri = "http://localhost:8004/Api/LogOn/";
var logonOptions = new
{
accountName = "admin",
password = "1234",
cultureName = string.Empty,
deleteOtherSessions = true,
isWindowsLogOn = false
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
var requestBodyAsString = serializer.Serialize(logonOptions);
StringContent content =
new StringContent(
requestBodyAsString,
Encoding.UTF8,
"application/json"
);
string jsonString = string.Empty;
using (var response = httpClient.PostAsync(logonUri, content).Result)
{
jsonString =
response.Content.ReadAsStringAsync().Result;
}
var obj = (Dictionary<string,object>) serializer.DeserializeObject(jsonString);
string sessionId = obj["sessionId"].ToString();
string url = "http://localhost:8004/API/Account/";
// Add an Authorization header
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessionId);
// Define the request body
HttpContent requestBody = null;
requestBody =
new StringContent(@"
{
""__classType"": ""dundas.account.Account"",
""name"": ""dundas\\johns"",
""accountType"": ""WindowsUser"",
""timeZone"": """",
""isEnabled"": true,
""trackLogOnHistory"": true,
""logOnCount"": 0,
""seatKind"": ""StandardUser"",
""isSeatReserved"": false,
""grantedApplicationPrivilegeIds"": [
],
""deniedApplicationPrivilegeIds"": [
],
""customAttributes"": [
],
""canChangePassword"": true,
""isAccountExpired"": false,
""isPasswordExpired"": false,
""isLocked"": false,
""warnings"": [
]
}
",Encoding.UTF8,"application/json");
using (var response = httpClient.PostAsync(url, requestBody).Result)
{
if(response.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine("Success");
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
string jsonObject = response.Content.ReadAsStringAsync().Result;
}
}
}
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.apache.http.entity.StringEntity;
import org.json.JSONObject;
...
HttpClient httpClient = HttpClientBuilder.create().build();
String url = "http://localhost:8004";
// Get Session Id
String logonUri = url + "Api/LogOn/"
HttpPost httpPost = new HttpPost(logonUri);
StringEntity stringEntity =
new StringEntity("{
+ "\"accountName\":\"admin\","
+ "\"password":\"1234\","
+ "\"cultureName\":\"\","
+ "\"deleteOtherSessions\":false,"
+ "\"isWindowsLogOn\":false"
+ "}"
);
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = httpClient.execute(httpPost);
String jsonString = EntityUtils.toString(httpResponse.getEntity());
JSONObject jsonObj = new JSONObject(jsonString);
String sessionId = jsonObj.getString("sessionId");
String requestUrl = "http://localhost:8004/API/Account/";
// Define the Request Method.
HttpPost requstMethod = new HttpPost(requestUrl);
// Add an Authorization header
requstMethod.setHeader("Authorization", "Bearer " + sessionId);
// Define the Request Body.
StringEntity input =
new StringEntity(
"{"
+ "\"__classType\": \"dundas.account.Account\","
+ "\"name\": \"dundas\\johns\","
+ "\"accountType\": \"WindowsUser\","
+ "\"timeZone\": \"\","
+ "\"isEnabled\": true,"
+ "\"trackLogOnHistory\": true,"
+ "\"logOnCount\": 0,"
+ "\"seatKind\": \"StandardUser\","
+ "\"isSeatReserved\": false,"
+ "\"grantedApplicationPrivilegeIds\": ["
+ " "
+ "],"
+ "\"deniedApplicationPrivilegeIds\": ["
+ " "
+ "],"
+ "\"customAttributes\": ["
+ " "
+ "],"
+ "\"canChangePassword\": true,"
+ "\"isAccountExpired\": false,"
+ "\"isPasswordExpired\": false,"
+ "\"isLocked\": false,"
+ "\"warnings\": ["
+ " "
+ "]"
+ "}"
);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response =
httpClient.execute(requstMethod);
if(response.getStatusLine().getStatusCode() == 200)
{
System.out.println("Success");
}
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
String json = EntityUtils.toString(response.getEntity());
var baseUrl = 'http://localhost:8005';
var logonOptions =
{
accountName: 'admin',
password: '1234',
cultureName: 'en-us',
deleteOtherSessions: false,
isWindowsLogOn: false
};
$.ajax({
type: 'POST',
url: baseUrl + '/Api/LogOn/',
contentType: "application/json",
data: JSON.stringify(logonOptions),
success: function(logOnResultData) {
var sessionId = logOnResultData.sessionId;
var dataObject =
{
"__classType": "dundas.account.Account",
"name": "dundas\\johns",
"accountType": "WindowsUser",
"timeZone": "",
"isEnabled": true,
"trackLogOnHistory": true,
"logOnCount": 0,
"seatKind": "StandardUser",
"isSeatReserved": false,
"grantedApplicationPrivilegeIds": [
],
"deniedApplicationPrivilegeIds": [
],
"customAttributes": [
],
"canChangePassword": true,
"isAccountExpired": false,
"isPasswordExpired": false,
"isLocked": false,
"warnings": [
]
};
$.ajax({
type: "POST",
url: baseUrl + "/API/Account/",
headers: { "Authorization": "Bearer " + sessionId },
data: JSON.stringify(dataObject),
contentType: "application/json",
success: function(data) {
// data = A Dundas.BI.WebApi.Models
// AccountData object.
},
error: function(data) { alert('failed' + data); }
});
}
});
This example will create a new Windows User Group Account with the name dundas\newemployees.
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Web.Script.Serialization;
...
using (HttpClient httpClient = new HttpClient())
{
// Get Session Id
string logonUri = "http://localhost:8004/Api/LogOn/";
var logonOptions = new
{
accountName = "admin",
password = "1234",
cultureName = string.Empty,
deleteOtherSessions = true,
isWindowsLogOn = false
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
var requestBodyAsString = serializer.Serialize(logonOptions);
StringContent content =
new StringContent(
requestBodyAsString,
Encoding.UTF8,
"application/json"
);
string jsonString = string.Empty;
using (var response = httpClient.PostAsync(logonUri, content).Result)
{
jsonString =
response.Content.ReadAsStringAsync().Result;
}
var obj = (Dictionary<string,object>) serializer.DeserializeObject(jsonString);
string sessionId = obj["sessionId"].ToString();
string url = "http://localhost:8004/API/Account/";
// Add an Authorization header
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessionId);
// Define the request body
HttpContent requestBody = null;
requestBody =
new StringContent(@"
{
""__classType"": ""dundas.account.Account"",
""name"": ""dundas\\newemployees"",
""accountType"": ""WindowsGroup"",
""timeZone"": """",
""isEnabled"": true,
""trackLogOnHistory"": false,
""logOnCount"": 0,
""seatKind"": ""StandardUser"",
""isSeatReserved"": false,
""grantedApplicationPrivilegeIds"": [
],
""deniedApplicationPrivilegeIds"": [
],
""customAttributes"": [
],
""canChangePassword"": true,
""isAccountExpired"": false,
""isPasswordExpired"": false,
""isLocked"": false,
""warnings"": [
]
}
",Encoding.UTF8,"application/json");
using (var response = httpClient.PostAsync(url, requestBody).Result)
{
if(response.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine("Success");
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
string jsonObject = response.Content.ReadAsStringAsync().Result;
}
}
}
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.apache.http.entity.StringEntity;
import org.json.JSONObject;
...
HttpClient httpClient = HttpClientBuilder.create().build();
String url = "http://localhost:8004";
// Get Session Id
String logonUri = url + "Api/LogOn/"
HttpPost httpPost = new HttpPost(logonUri);
StringEntity stringEntity =
new StringEntity("{
+ "\"accountName\":\"admin\","
+ "\"password":\"1234\","
+ "\"cultureName\":\"\","
+ "\"deleteOtherSessions\":false,"
+ "\"isWindowsLogOn\":false"
+ "}"
);
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = httpClient.execute(httpPost);
String jsonString = EntityUtils.toString(httpResponse.getEntity());
JSONObject jsonObj = new JSONObject(jsonString);
String sessionId = jsonObj.getString("sessionId");
String requestUrl = "http://localhost:8004/API/Account/";
// Define the Request Method.
HttpPost requstMethod = new HttpPost(requestUrl);
// Add an Authorization header
requstMethod.setHeader("Authorization", "Bearer " + sessionId);
// Define the Request Body.
StringEntity input =
new StringEntity(
"{"
+ "\"__classType\": \"dundas.account.Account\","
+ "\"name\": \"dundas\\newemployees\","
+ "\"accountType\": \"WindowsGroup\","
+ "\"timeZone\": \"\","
+ "\"isEnabled\": true,"
+ "\"trackLogOnHistory\": false,"
+ "\"logOnCount\": 0,"
+ "\"seatKind\": \"StandardUser\","
+ "\"isSeatReserved\": false,"
+ "\"grantedApplicationPrivilegeIds\": ["
+ " "
+ "],"
+ "\"deniedApplicationPrivilegeIds\": ["
+ " "
+ "],"
+ "\"customAttributes\": ["
+ " "
+ "],"
+ "\"canChangePassword\": true,"
+ "\"isAccountExpired\": false,"
+ "\"isPasswordExpired\": false,"
+ "\"isLocked\": false,"
+ "\"warnings\": ["
+ " "
+ "]"
+ "}"
);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response =
httpClient.execute(requstMethod);
if(response.getStatusLine().getStatusCode() == 200)
{
System.out.println("Success");
}
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
String json = EntityUtils.toString(response.getEntity());
var baseUrl = 'http://localhost:8005';
var logonOptions =
{
accountName: 'admin',
password: '1234',
cultureName: 'en-us',
deleteOtherSessions: false,
isWindowsLogOn: false
};
$.ajax({
type: 'POST',
url: baseUrl + '/Api/LogOn/',
contentType: "application/json",
data: JSON.stringify(logonOptions),
success: function(logOnResultData) {
var sessionId = logOnResultData.sessionId;
var dataObject =
{
"__classType": "dundas.account.Account",
"name": "dundas\\newemployees",
"accountType": "WindowsGroup",
"timeZone": "",
"isEnabled": true,
"trackLogOnHistory": false,
"logOnCount": 0,
"seatKind": "StandardUser",
"isSeatReserved": false,
"grantedApplicationPrivilegeIds": [
],
"deniedApplicationPrivilegeIds": [
],
"customAttributes": [
],
"canChangePassword": true,
"isAccountExpired": false,
"isPasswordExpired": false,
"isLocked": false,
"warnings": [
]
};
$.ajax({
type: "POST",
url: baseUrl + "/API/Account/",
headers: { "Authorization": "Bearer " + sessionId },
data: JSON.stringify(dataObject),
contentType: "application/json",
success: function(data) {
// data = A Dundas.BI.WebApi.Models
// AccountData object.
},
error: function(data) { alert('failed' + data); }
});
}
});